Conventional digital images are represented in either vector or raster formats. Vector formats are used to store lists of vector primitives, which may overlap and obscure or partially obscure one another. The vector primitives themselves generally consist of geometrical primitives including points, curves and areas. Points and curves generally have colors associated therewith, and areas generally have both a fill color and a boundary color. Curves include inter alia lines, pieced together line segments, circles, ellipses and Bezier curves. Graphics software generally provides tools for generating such curves.
Vector primitives are resolution independent, and can be scaled to any desired display screen. Thus a line or a circle, for example, can be rendered within an arbitrary display region by locating the endpoints of the line or the center and radius of the circle, and then rendering the line or the circle accordingly.
Familiar examples of vector images include flowcharts, block diagrams and other synthetic images produced by graphics software applications.
Raster formats are used to store arrays of pixel color values, the color values specifying a color for each pixel location within a rectangular array of pixels. Raster images are generally resolution dependent, and the information in a raster image file only suffices to identify color values for a fixed resolution. Raster images can be scaled down in size by down-sampling such as by averaging, and scaled up by up-sampling such as by interpolation. However, up-sampled color values in general are artificial, and often destroy the true nature of an image.
Familiar examples of raster images include image images acquired by a digital camera or scanner.
Image compositing involves generation of complex images by overlaying simpler images on top of one another. For example, a composite image may include a layer for a background, layers for various sprites, and a layer for text. Layers are generally arranged one on top of another. Each layer may obscure or partially obscure layers below it, or may be transparent and allow the lower layers to appear through it. Image compositing software applications generally enable a user to apply a variety of versatile editing effects to a composite image. Thus a user may edit each of the layers, add or remove layers, navigate through a composite image by zooming in and out and moving up, down, left and right, rotate and scale a composite image, apply brush strokes and other artistic effects, and apply image processing filters including calorimetric and geometrical transformations.
One of the many challenges of image compositing is the overlaying of raster and vector images. Since vector images are generally resolution independent, conventional digital compositing systems scale a vector image to the pixel dimensions of a raster image, when overlaying one upon the other.
In geographic information systems (GIS), image formats are used to represent maps of portions of the surface of the Earth. Such portions are three-dimensional in nature, and are generally projected onto a two-dimensional view plane for rendering. Coordinates of vector objects and of pixel locations are not arbitrarily set in GIS images, but correspond to locations of points on the surface of the Earth. As such, compositing of vector and raster GIS images poses additional alignment challenges, beyond those of conventional compositing. Further challenges arise with editing of such composite vector+raster GIS images.
Conventional digital image applications provide only limited viewing capability for composite vector+raster GIS images, and do not provide editing capability therefor.
There is thus a need for an image processing method and system that enables versatile editing of composite vector+raster GIS images.